namespace UNUSED_FUNC_WARN {
File: lib.h
void used();

File: driver.c
#include "lib.h"
void used() {
}
void unused() { //A non-static function without any declaration in a header file
}
int main() {
	used();
	return 0;
}

void foo(int x) {}
void foo(int x, int y) {}

int main() {
	foo(0, 0);
	return 0;
}

File: lib.h
void used();
void unused();

File: driver.c
#include "lib.h"
void used() {
}
void unused() { //A non-static function without any declaration in a header file
}
int main() {
	used();
	return 0;
}

void foo(int x, int y) {}

int main() {
	foo(0, 0);
	return 0;
}
}}